package com.example.common.util.annotation;

import io.swagger.annotations.Example;
import io.swagger.annotations.ExampleProperty;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @Author juzipi
 * @Date 2021/7/8 10:34
 * @Info 默认多个参数，是数据类型为Long,name是ids
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface CustomApiImplicitParam {

    String name() default "";

    String value() default "";

    String defaultValue() default "";

    String allowableValues() default "";

    boolean required() default false;

    String access() default "";

    boolean allowMultiple() default true;

    String dataType() default "Long";

    Class<?> dataTypeClass() default Void.class;

    String paramType() default "";

    String example() default "";

    Example examples() default @Example({@ExampleProperty(
            mediaType = "",
            value = ""
    )});

    String type() default "";

    String format() default "";

    boolean allowEmptyValue() default false;

    boolean readOnly() default false;

    String collectionFormat() default "";
}
